应用接入用户体验监控SDK后,将会带来一定的性能开销,ARMS团队已经采用多项技术对SDK进行优化,将SDK的性能开销降低到极低的范围,以确保应用的稳定运行。在本篇测试报告中,我们模拟了真实的使用场景,测试用户体验监控SDK在不同设备平台下带来的性能开销,您可以参考本篇分析报告,在接入用户体验监控前,基于性能影响进行充分的评估。
测试基准
设备信息
平台 | 机型 | 系统 | CPU | 内存 | 上市时间 |
Android | Google Pixel 3XL | Android 12.0 | Snapdragon_845 | 4 GB | 2018 |
iOS | iPhone X | iOS 13.6 | A11 | 3 GB | 2017 |
性能说明
接入用户体验监控SDK时,对各机型造成的性能消耗会被控制在一定的可接受范围内。以下数据均为通过基准设备测试得到。
启动耗时
以下为在应用冷启动情况下,得到的SDK启动耗时范围。
平台 | 增加耗时 |
Android | 33毫秒 ~ 119毫秒 |
iOS | 48毫秒 ~ 53毫秒 |
核心服务性能
Android
项目 | 启动性能 | 网络服务 | 交互服务 | WebView服务 | 卡顿服务 | 崩溃服务 |
占用CPU | 0.65% | 0.26% | 0.55% | 0.12% | 0.23% | 1.28% |
占用内存 | 5.07 MB | 19.34 MB | 14.45 MB | 5.17 MB | 14.67 MB | 10.69 MB |
iOS
项目 | 启动性能 | 网络服务 | 交互服务 | WebView服务 | 卡顿服务 | 崩溃服务 |
占用CPU | 0.43% | 0.62% | 1.03% | 1.91% | 0.76% | 1.18% |
占用内存 | 6.06 MB | 7.1 MB | 7.58 MB | 11.18 MB | 6.99 MB | 6.69 MB |
SDK大小
集成探针后,按照安装包体积大小增加的维度来计算。
平台 | 0.2.0版本 |
Android | 1.7 MB |
iOS | 2.3 MB |
流量消耗
SDK的通讯协议经过特殊优化,在设计时就考虑到流量消耗,可以确保在同样场景下产生更少的数据流量消耗。
流量说明:除启动阶段外,其他阶段产生的流量与一段时间内的操作频率有关,此处给出的值都是一次数据上报的测试值,实际值会偏大或偏小一些。
平台 | 启动阶段 | 网络服务 | 交互服务 | WebView | 卡顿服务 | 崩溃服务 |
Android | 1.1 KB | 1.3 KB | 1.2 KB | 1.3 KB | 16.8 KB | 11.2 KB |
iOS | 1.6 KB | 1.5 KB | 1.6 KB | 1.9 KB | 1.8 KB | 2.7 KB |
崩溃率
SDK的崩溃率为:3‱